Index
Interactive Cross Reference for Windows

Version 2.0

Introduction

Features

Hardware and System Requirements

Tutorial - What is this & How do I do that?

Different ways to open a .xfw file

How do I learn fancy MFC programming in one month?

Can I cross reference other programming languages?

Interaction between the ixfwin and the Program Manager.

References

Identifier List Box

Reference List Box

History List Box

File Viewer Window

Whats Next?

Shareware Registration

Get the registered software for FREE

Copyright and distribution right


Quick Start

Welcome to Interactive Cross Reference for Windows.   We strongly recommend that you experiment with the program for a few minutes before browse the rest of this document.   Try the following commands:

Experiment with the different menus and windows.

Use "IXRef->Add Files" to add any  C/C++ source files or text files to the database.

Position the cursor over any text on the screen and double-click the left mouse button then press the right mouse button and observe what happen.

Try the "Tab", "Enter", "Up", "Down", "Page Up", "Page Down", "Alt-F1" and "Shift-Enter" keys in all of the windows and observe what happens.


Introduction

Interactive Cross Reference for Windows (IXFWIN.EXE) is a programming tool that helps the programmer quickly understand C/C++ source code, other text files and programming languages.


Features

IXFWIN lets you cross reference C or C++ source code and your text files.  It has:

Simple point-and-click action using the mouse or keyboard for selection.

Fast database load time.

Easy-to-use interface with standard menu and status line layout. If you have used Borland IDE, Microsoft PWB, Windows, OS/2, or Apple Macintosh before, you can master this software interface in seconds.

Support for multiple windows to multiple project database.

Interactive Windows Help provides further information for the keyword under the cursor/mouse pointer from your Windows help files (e.g. Win SDK, MFC, OWL help files).


Requirements
Hardware and System Requirements

IBM-compatible machine with an 80286 processor or higher.

MS-DOS version 3.1 or later.

Windows Version 3.1 or later in standard or enhanced mode.

It is strongly recommended that you use Windows 3.1 enhanced mode. You can build a bigger database with virtual memory.


Meat
The Meat - What is this & How do I do this?

Different ways to open a .xfw file

How do I learn fancy MFC programming in one month?

Can I cross reference other programming languages?

Interaction between the ixfwin and the Program Manager.


Open_xfw
Different ways to open a .xfw file?

1)  Double click the .xfw file from the Windows File Manager.

2) Double click the .xfw files icon in the Windows Program Manager.  The ixfwin.exe will automatically add a icon to the IXFWIN group of the program manager when your save a .xfw.

3) Use the File menu and Open the file.

4) Drag the .xfw file to the ixfwin.exe icon or windows.   - Yes it supports drag and drop operation.


Learn_MFC
How do I learn how to program fancy features in MFC in one month or less?

Its very easy to build trivial program with VC++ / MFC, but the learn curve go up exponentially as your app need the fancier features that are not explicitly document in the MFC manual.   That why I design this tool in the first place.

1) Register my software.

2) Build the .xfw database for MFC source, include directory.

Hint: Select the include path checkbox in the Add File dialog to build database from source files in multiple directory.

3) Build another .xfw database for MFC Sample code.

4) Build all the sample code applications.

5) Run these sample program and see what features they use.

6) When you see the feature you like, drop the .xfw database and browse the code.

7)  Do use the History Listbox to track the list of reference.  It will be much easier for you to go back and forth in the various point of the source code instantly and you will understand the source code much faster.


OtherTextFile
Can I cross reference other programming language?

Yes!!!  This program will try to parse any text file you throw at it.

For C/C++ program, it will remove the comments from your source code.

For Windows program, you can parse C/C++ and resource files all together.  You will know where the ID_!@#$%^&* is defined and exactly who use it INSTANTLY.

For Visual Basic programmers, you can save the source code as the ASCII file.   This program will parse your code.    You can learn a lot about VB programming by parse the text file of sample code provided by Microsoft.

If you need a fancier features for you favor programming language, please let me know.


ProgMan
Interaction between the ixfwin and the Program Manager.


Bone
The Bone Reference

Identifier List Box:

The Identifier List Box displays all of the identifiers in the source files.  This list appears on the lower left side of the window.

Keyboard and mouse actions	Functions
Up, Down, Page up, Page Down	Scroll the Identifiers list.
Enter, Right Mouse Button	Enter current selection in the History List Box.
Tab	Move cursor to the Reference List Box.
a-z, A-Z	Interactively search for case-sensitive identifier string in the database.
Delete	Clear the current interactive search buffer.

Reference List Box:

The Reference List Box displays all of the references to the current identifier in the Identifier List Box. This list appears in the lower middle section of the window.

Keyboard and mouse actions	Functions
Up, Down, Page up, Page Down	Scroll the Reference list.
Enter, Right Mouse Button	Enter current selection in the History List Box.
Tab	Move cursor to the History List Box..

Trace History List Box:

The History List Box maintains a list of previously referenced items. The initially empty list is updated automatically when you press the Enter key while in the various window panes. This list appears in the lower right side of the window.

Keyboard and mouse actions	Functions
Up, Down, Page up, Page Down	Scroll the Reference list. As this list is scrolled, the other lists are updated automatically.
Tab	Move cursor to the File Viewer Window.
File Viewer Window:

The File Viewer pane lets you view the source file that references the current token. This window pane is located in the upper portion of the window.

Keyboard and mouse actions	Functions
Up, Down, Page up, Page Down	Scroll the current display file.
ENTER	Query the database for the currently referenced token.
SHIFT-ENTER	Query the database for the current referenced token. If a match is found, this identifier is entered into the History List box.
Tab	Move cursor to the File Viewer Window.
Double Click Left Mouse	Display reference for the token to which the cursor is pointing.
Right Mouse	Same as "Left Mouse"; also add current reference to the History List.


What_Next
Whats Next?

With your registration support, I plan to:

Release the new version for Windows 4.0 to support long filename this would make it much easier to cross reference program from other platforms such as Mac and UNIX.

Add support to cataloging and selecting multiple token list.

Let users document the code as they trace through it.

Closely couple this program with other development environments such as VC++, editors, etc.  I like to see single keystroke in my program will pop you right into the editor with corresponding file open and line being point to the right place.   If you write program editor for living, please provide and document this interface.

Add a tracking feature, which when enable, the IXF will track your key stroke on other Windows application and cross reference anything/everything as you type it in.   I already know how to do this and just need time to implement it.

Port this program to Mac/Power PC when and if I can afford VC++ 2.0 and a PowerPC.  If you use a PowerPC and would like to see this tool port to PowerPC, drop me a note.  I like to see the demand for these kind of tool before I invest my resources in it.

Port this program to UNIX environment with one or more marketing partner.     I figure it would cost $50k just for equipment, software, Wind/U cross platform development environment.   $150k for marketing per year.    The potential return can be $5 - $10 Millions in three years.   So if you have any UNIX software marketing experience and/or resources,  give me a call.   We can certainly work out a marketing plan and see the UNIX software developer get a better tool.  If you use UNIX and would like to see this tool port to UNIX drop me a note.


Registration
Shareware Registration

Press here to see what I will develop with your registration support.

The registration fee for this shareware is $35.00.

    To register, you can

Use your MC, Visa, AMEX, or Discover and call

1-800-2424-Psl and ask for product number #10901.

-------------------------------------------------------------------------

"CREDIT CARD ORDERS ONLY -

"You can order with MC, Visa, Amex, or Discover from Public (software) Library by calling 800-2424-PsL or 713-524-6394 or by FAX to 713-524-6398 or by CIS Email to 71355,470. You can also mail credit card orders to PsL at P.O.Box 35705, Houston, TX 77235-5705. "The product number for the Interactive Cross Reference for Windows is #10901."

"THE ABOVE NUMBERS ARE FOR ORDERS ONLY."

"Any questions about the status of the shipment of the order, refunds, registration options, product details, technical support, volume discounts, dealer pricing, site licenses, etc., must be directed to

 Orange Software

 39629 Whitecap Way

 Fremont, Ca 94538

 U.S.A.

or Email me (Tony Lee)  at  CompuServe:  	72064,1235

or contact me with Voice/Fax:	510-657-5668

"To insure that you get the latest version, PsL will notify us the day of

your order and we will ship the product directly to you.

Press here if you like to get the registered software for FREE!


Free_Registration
Free Registration

Yes!  You can get the shareware registration for free, if you

are a programming journal writer.  --or--

are source code author --or--

are a hacker --or--

like be beta users and/or critics. --or--

can upoad this program to 5+ BBS or Internet sites. --or--

Yes, I am looking for Interactive Cross Reference  evangelists.  If you know any other ways to evangelize more programmers to use this productive tool, please let me know.


Writers
Journal article writers.

If you write article for programming journal, fill out the following form, fax or email me the form.   It will really help if you would put ixfwin.exe on your magazines BBS.

Name:	 ____________________ 	Title:	________________

Address:	 ____________________

City:	 ____________________ 	State:  __	Zip: _____-____

Country:	_____________________

Phone:	 ____________________	Fax:	 ____________________

Email:	_____________________

Article Title:	__________________________________

Magazine:	__________________________________

Month/Year:  	__________________________________


SourceCodeAuthor
Public domain, copyright, copyleft source code authors.

Name:	 ____________________ 	Title:	________________

Address:	 ____________________

City:	 ____________________ 	State:  __	Zip: _____-____

Country:	_____________________

Phone:	 ____________________	Fax:	 ____________________

Email:	_____________________

My project with source code is located at:

Internet ftp site:	__________________________________

CompuServe: 	__________________________________

Others:	__________________________________

*Note: You can always mail me your project source code in a 3 1/2 disk via postage mail.

Please feel free to build a .xfw database and add IXFWIN.EXE and IXFWIN.HLP to your next release of the source code.

If I collect enough source, I will put out a CDROM of Windows source code with the browser.    My dream for future programmers is that they can cross reference to 600 Mbytes of source code in seconds, find exactly what they need to know on how to program a particular features and drag and drop the code into the right place.    Please tell me what you like to see in this CDROM.

If you do send me the source code, please document the features how it is implemented.  And any other neat stuff.   Put your name/phone-number and address in there if like to use it as market channel for your consulting/contracting service.

Just fill out the above form and email/fax/snailmail to

 Orange Software

 39629 Whitecap Way

 Fremont, Ca 94538

 U.S.A.

Email: CompuServe:  	72064,1235

Voice/Fax:	510-657-5668

After I verify the fact, I will send you the registered software for free.    I do this to encourage casual programmers/students/hackers to share their code for other to study.   If you program professionally (for $), you (or your boss) should pay for the registration.   If your boss is too cheap to pay for the necessary productive tool for you to do the job, PLEASE, fire your boss.

Have Fun!


BetaUser
Beta users / Critics.

Send me a list of all the spell, grammar, and other errors, recommendation you can find in this package and tell me that you like to be a beta user for future ixfwin release.    I will probably only select the first few beta testers in this case, so send them early before I fixed most of the reported problems.  Please fax or email your valuable comments to me with the following information.

Name:	 ____________________ 	Title:	________________

Address:	 ____________________

City:	 ____________________ 	State:  __	Zip: _____-____

Country:	_____________________

Phone:	 ____________________	Fax:	 ____________________

Email:	_____________________

Comments:

Hint:  I would be very appreciate if someone can print every page of this document out, mark the error and email me the marked page.


Hackers
Hackers.

If you are a good hacker and able to break my encryption in the .ini file or stop the Nag dialog, I will register you for free.  Just fill the following form and email or fax it to me.

Name:	 ____________________ 	Title:	________________

Address:	 ____________________

City:	 ____________________ 	State:  __	Zip: _____-____

Country:	_____________________

Phone:	 ____________________	Fax:	 ____________________

Email:	_____________________

Heres how I break your program.


Uploaders

If you a BBS, Internet AOL, etc users and promise me that you will upload this program to 5 or more sites, please fill up the following form.   I will register you for free.

Name:	 ____________________ 	Title:	________________

Address:	 ____________________

City:	 ____________________ 	State:  __	Zip: _____-____

Country:	_____________________

Phone:	 ____________________	Fax:	 ____________________

Email:	_____________________

Site 1:

Site 2:

Site 3:

Site 4:

Site 5:

.....

If you can design a very cool HTML Interactive Cross Reference home page with pointers to various places on internet where the users can find the this program, various Windows C/C++ source code,  SEND ME THE URL.   I will register you for free.  This would be a great project for a University students.


CopyRight
Copyright and Distribution Right

You are free and encourage to distribute this software IXFWIN.EXE to anyone.

Commercial software tool developers company also free and encourage to distribute this software with your sample source code.

I would love to see this program get put into Microsoft development CD and a whole set of databases are built for them and the users can pull the database/technote off the CD anytime they want it.

So can Borland, Symantec and Watcom.

Of course, it certainly look much better for your customers if you just license this software from me and let me get rid of the Nag dialog for you.  It will not be expense neither.


Address
My Address

 Orange Software

 39629 Whitecap Way

 Fremont, Ca 94538

 U.S.A.

Email: CompuServe:  	72064,1235

Voice/Fax:	510-657-5668